[main] fix(release): Restore WinGet publication with .NET 9 wingetcreate - #19550
[main] fix(release): Restore WinGet publication with .NET 9 wingetcreate#19550aspire-repo-bot[bot] wants to merge 2 commits into
Conversation
WinGet publication fails before submit because the latest standalone wingetcreate targets .NET 9 and is framework-dependent, while the release agent image has no compatible runtime: wingetcreate.exe : You must install or update .NET to run this application. Install the .NET 9 runtime in the gated submission path before launching wingetcreate. Exercise the latest executable with `info` in normal WinGet preparation builds so future runtime incompatibilities fail before release. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The WinGet setup steps were gated by live production submission, so dry runs skipped both the .NET 9 runtime installation and the wingetcreate startup check. That prevented a safe branch run from proving that the latest wingetcreate executable could launch. Run UseDotNet and wingetcreate info whenever the WinGet job is selected, while retaining the live-only gate on URL validation and submission. This validates runtime compatibility without opening an upstream PR. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19550Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19550" |
There was a problem hiding this comment.
Pull request overview
Restores WinGet publishing by installing .NET 9 and validating wingetcreate before submission.
Changes:
- Installs the .NET 9 runtime in WinGet pipeline jobs.
- Runs
wingetcreate infoas an early compatibility check. - Adds pipeline contract tests and documentation.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
eng/pipelines/templates/publish-winget.yml |
Verifies wingetcreate before gated submission. |
eng/pipelines/templates/prepare-winget-manifest.yml |
Adds routine compatibility validation. |
tests/Infrastructure.Tests/Pipelines/ReleasePublishNugetPipelineTests.cs |
Tests runtime installation and submission gating. |
eng/winget/README.md |
Documents the validation flow. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Tests selector (audit mode)The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement. 1 / 102 test projects · 0 jobs, from 3 changed files. Selected test projects (1 / 102)
Selected jobs (0)none How these were chosen — grouped by what changed📄 📄 🧪 Job reasonsnone Selection computed for commit |
Forward port of #19509 to main
/cc Ankit Jain (@radical)
Customer Impact
Testing
Risk
Regression?